home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 17 Arcade _ Action Games / WUG.BIN (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  8.6 KB  |  245 lines

  1. 1 REM WUG BY JAMES HORN
  2. 2 REM CSERVE ID: 74616,131
  3. 3 REM C64 ARCADE TYPE GAME
  4. 4 REM RESUBMITTED BY TED BERNHARDI 1/89
  5. 5 GOTO500
  6. 10 IFPEEK(17153)AND16THEN70
  7. 20 SYS16896:IFPEEK(17152)<>42THEN40
  8. 30 SC=SC+5:PRINTTAB(22-LEN(STR$(SC)))SC;CHR$(145):ND=ND+1:IFND=NNTHEN290
  9. 40 F=INT(RND(1)*(24/BS-1)):POKE17166,48+(F+1)*BS*8:SYS16688
  10. 50 F=INT(RND(1)*(36/BS+1)):E=30+BS*F*8:F=EAND256:E=E-F:POKE17167,E
  11. 60 POKE17168,F/8:SYS16782:GOTO10
  12. 70 POKES+11,33:FORF=100TO20STEP-10:FORE=FTOF-10STEP-1:POKES+8,E:NEXT
  13. 80 FORE=F-10TOF-5:POKES+8,E:NEXTE,F:POKES+11,0:FORF=1TO2000:NEXT:POKEV+21,0
  14. 85 NM(CP)=NM(CP)-1:GOSUB140:IFNM(CP)=0THENGOSUB155:IFCP=PLTHENSC(CP)=SC:GOTO175
  15. 93 IFPL=1THEN450
  16. 95 SC(CP)=SC:ND(CP)=ND:CP=ABS(CP-3):SC=SC(CP):NN=NN(CP):ND=ND(CP):BS=BS(CP)
  17. 100 POKE648,4+(CP-1)*44:POKEV+24,(PEEK(V+24)AND15)OR(16+(CP-1)*176)
  18. 105 GOSUB170:IFNM(CP)=3THEN300
  19. 110 GOTO440
  20. 125 POKE214,7:PRINT:FORF=0TO6:PRINTTAB(15)Z$;CHR$(145):FORE=0TO300:NEXT
  21. 130 PRINTTAB(15)"         "CHR$(145):REM 9 SPACES
  22. 135 FORE=0TO300:NEXTE,F:RETURN
  23. 140 E=9:IFBS=4THENE=5
  24. 145 POKE214,E:PRINT:PRINTTAB(17)"     "CHR$(145):REM 5 SPACES
  25. 150 PRINTTAB(23-NM(CP)*2)LEFT$(C$,NM(CP)*2):RETURN
  26. 155 Z$="GAME OVER":GOSUB125:RETURN
  27. 160 Z$="PLAYER "+STR$(CP):GOSUB125:RETURN
  28. 165 Z$="GET READY":GOSUB125:RETURN
  29. 170 F=7+44*(CP-1):POKE16749,F:POKE16839,F:POKE16983,F:POKE16902,2-CP:RETURN
  30. 175 CP=0:IFSC(2)>HSTHENHS=SC(2):CP=2
  31. 178 IFSC(1)>HSTHENHS=SC(1):CP=1
  32. 181 IFCP=0THEN200
  33. 184 PRINTCHR$(147):PRINTTAB(13)"GREAT SCORE!":PRINT:PRINT:IFPL=1THEN188
  34. 186 PRINTTAB(15)"PLAYER"CP:PRINT
  35. 188 PRINT:PRINTTAB(16-LEN(STR$(HS))/2)"SCORE:"HS
  36. 189 POKE214,10:PRINT:HS$="":PRINTTAB(9)"ENTER YOUR INITIALS"
  37. 190 PRINT:PRINTTAB(8)"ERASE WITH THE '"CHR$(95)"' KEY":PRINT
  38. 191 PRINTTAB(8)"END BY PRESSING RETURN":POKE214,18:PRINT:FORF=1TO10:GETZ$:NEXT
  39. 192 PRINTCHR$(145)TAB(16)HS$"     ":REM 5 SPACES
  40. 194 GETZ$:IFZ$=""THEN194
  41. 195 IFZ$=CHR$(95)ANDLEN(HS$)>0THENHS$=LEFT$(HS$,LEN(HS$)-2):GOTO192
  42. 196 IFASC(Z$)=13THEN200
  43. 197 IFZ$<"A"ORZ$>"Z"THEN194
  44. 198 IFLEN(HS$)>4THEN194
  45. 199 HS$=HS$+Z$+" ":GOTO192
  46. 200 E=PEEK(V+23):PRINTCHR$(147):POKEV+24,(PEEK(V+24)AND15)OR16:POKE648,4
  47. 205 POKEV+21,1:FORF=1TO10:GETZ$:NEXT:IFHS=0THEN220
  48. 210 POKE214,6:PRINT:PRINTTAB(14)"HIGH SCORE":PRINT
  49. 215 PRINTTAB(16-LEN(STR$(HS))/2)HS$;HS
  50. 220 POKE214,19:PRINT:PRINTTAB(6)"PRESS: 'F1' FOR ONE PLAYER":PRINT
  51. 230 PRINTTAB(13)"'F3' FOR TWO PLAYERS"
  52. 240 E=ABS(E-1):POKEV+21,0:POKEV+23,E:POKEV+29,E:POKEV,152+12*(1-E)
  53. 250 POKEV+21,1:POKES+4,17:POKE2,5:F=0
  54. 255 GETZ$:IFZ$>CHR$(132)ANDZ$<CHR$(135)THENPL=ASC(Z$)-132:GOTO280
  55. 270 F=F+1:IFF=25THEN240
  56. 275 GOTO255
  57. 280 POKEV+21,0:CS(1)=0:CS(2)=0:SC(1)=0:SC(2)=0:NM(1)=3:NM(2)=3:CP=1:SC=0
  58. 285 ND(1)=0:ND(2)=0:C$="X X X ":GOSUB170:GOTO300
  59. 290 CS(CP)=CS(CP)+1:POKES+11,33:FORF=20TO100STEP10:POKES+8,F:FORE=1TO20
  60. 295 NEXTE,F:POKES+11,0:FORF=1TO2000:NEXT:POKEV+21,0
  61. 300 PRINTCHR$(147):F=CS(CP)/3:FORA=0TO7:POKE14672+A,0:NEXT:IFF>2THENF=2
  62. 305 ONF+1GOTO310,340,370
  63. 307 PRINT:PRINT" ";:U$="*":FORE=1TO37:PRINTU$;:NEXT:PRINT:RETURN
  64. 310 FORF=0TO7:IFF>0THENGOSUB307
  65. 316 U$=CHR$(174)+"*"+CHR$(176):FORE=1TO13:PRINTU$;:NEXT:PRINT
  66. 319 U$=CHR$(189)+"*"+CHR$(173):FORE=1TO13:PRINTU$;:NEXTE,F:BS(CP)=3:GOTO391
  67. 340 FORF=0TO5:IFF>0THENGOSUB307
  68. 346 U$=CHR$(174)+"*"+CHR$(176):FORE=1TO9:PRINTU$CHR$(192);:NEXT:PRINTU$
  69. 349 U$=CHR$(221)+"*"+CHR$(221):FORE=1TO9:PRINTU$" ";:NEXT:PRINTU$
  70. 352 U$=CHR$(189)+"*"+CHR$(173):FORE=1TO9:PRINTU$CHR$(192);:NEXT:PRINTU$;:NEXT
  71. 355 POKE214,4:PRINT:BS(CP)=4:E=4:GOTO394
  72. 370 FORF=0TO3:IFF>0THENGOSUB307
  73. 376 U$=CHR$(174)+"*"+CHR$(176)+CHR$(192)+CHR$(192)+CHR$(192):PRINTU$U$U$U$U$U$;
  74. 379 PRINTMID$(U$,1,3):FORE=0TO2
  75. 382 U$=CHR$(221)+"*"+CHR$(221)+"   ":PRINTU$U$U$U$U$U$;:PRINTMID$(U$,1,3):NEXT
  76. 388 U$=CHR$(189)+"*"+CHR$(173)+CHR$(192)+CHR$(192)+CHR$(192):PRINTU$U$U$U$U$U$;
  77. 389 PRINTMID$(U$,1,3);:NEXT:BS(CP)=6
  78. 391 POKE214,6:PRINT:E=2
  79. 394 U$=CHR$(192):PRINTTAB(14)CHR$(176)U$U$U$U$U$U$U$U$U$CHR$(174)
  80. 397 FORF=0TOE:U$=CHR$(221):PRINTTAB(14)U$"         "U$:NEXT:REM 9 SPACES
  81. 400 U$=CHR$(192):PRINTTAB(14)CHR$(173)U$U$U$U$U$U$U$U$U$CHR$(189)
  82. 412 BS=BS(CP):G=(CP-1)*11264:FORF=1063TO2023STEP40:POKEF+G,160:POKEF+S,11:NEXT
  83. 421 NN=24/BS*37+(36/BS+1)*24/BS*(BS-1)-46-18*(1-INT(BS/6)):NN(CP)=NN:ND=0
  84. 427 ND(CP)=0:POKE1523+G,32:FORA=1024TO1062:POKEA+G,0:POKEA+960+G,0:NEXT
  85. 430 FORA=1024TO1984STEPBS*40:POKEA+G,0:POKEA+38+G,0:NEXT:FORA=0TO2
  86. 433 F=INT(RND(1)*(917-BS*80))+1065+BS*40:IFPEEK(F+G)<>42THEN433
  87. 436 D=0:FORE=0TOA-1:B=ABS(B(CP,E)-F):C=B/40:IFB<40ORC=INT(B/40)THEND=1
  88. 438 NEXT:IFD=1THEN433
  89. 439 POKEF+G,91:B(CP,A)=F:NEXT:GOSUB140
  90. 440 F=CS(CP):F=F-INT((F)/6)*6:E=CC(F,0):A=9-F+INT((BS(CP)-4)/2)
  91. 441 IFCS(CP)>11THENA=5
  92. 442 POKE16860,A:POKE16757,A
  93. 444 POKE16641,7+44*(CP-1):POKE16683,1:POKE16679,127:POKE16680,176:SYS16640
  94. 445 FORA=0TO7:POKE14672+A,PEEK(15296+E*8+A):NEXT
  95. 447 F=CC(F,1):POKE16683,F:POKE16679,42:POKE16680,208:SYS16640
  96. 449 FORA=0TO2:POKEB(CP,A)+S,1:NEXT:IFPL=2THENGOSUB160:GOTO452
  97. 450 GOSUB165
  98. 452 POKE214,7:PRINT:PRINTTAB(17)"SCORE":IFBS(CP)=4THENPRINT
  99. 454 PRINTTAB(22-LEN(STR$(SC)))SC;CHR$(145)
  100. 456 POKEV+8,173:POKEV+9,142:POKEV+16,0:F=PEEK(53278)
  101. 459 FORF=0TO7:POKEF+17158,0:NEXT:FORF=10TO13:POKEV+F,0:NEXT
  102. 462 POKE17057,243:POKE17058,5+44*(CP-1):SYS17108:POKE17153,0
  103. 465 POKE2044+(CP-1)*11264,220:POKE251,0:POKE253,0:POKEV+21,112:GOTO10
  104. 500 POKE52,48:POKE56,48:CLR
  105. 503 BS=0:E=0:F=0:SC=0:ND=0:NN=0:V=53248:S=54272:DIMCC(6,1),B(2,2),A(31)
  106. 506 PRINTCHR$(147)CHR$(142)CHR$(8)CHR$(5):POKEV+32,11:POKEV+33,0
  107. 510 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:FORF=0TO2047
  108. 515 POKEF+14336,PEEK(F+53248):NEXT:POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
  109. 520 POKE53272,(PEEK(53272)AND240)+14
  110. 525 REM *** COLOR FRUIT ON SCREEN ***
  111. 530 E=0:FORF=0TO47:READA:POKEF+16640,A:E=E+A:NEXT
  112. 535 IFE<>5305THENPRINT"ERROR IN DATA LINES 540-590":END
  113. 540 DATA 169,7,141,37,65,169,219,141,46
  114. 550 DATA 65,160,0,32,35,65,162,4,160
  115. 560 DATA 231,32,35,65,136,208,250,206
  116. 570 DATA 37,65,206,46,65,202,208,241,96
  117. 580 DATA 185,0,7,201,42,208,5,169,14
  118. 590 DATA 153,0,219,96
  119. 600 REM *** ARROW MOVEMENT ***
  120. 610 E=0:FORF=0TO147:READA:POKEF+16384,A:E=E+A:NEXT
  121. 615 IFE<>17648THENPRINT"ERROR IN DATA LINES 630-795":END
  122. 620 SYS 16384
  123. 630 DATA 173,21,3,201,64,240,24,120,173
  124. 640 DATA 20,3,141,146,64,173,21,3,141
  125. 650 DATA 147,64,169,32,141,20,3,169,64
  126. 660 DATA 141,21,3,88,96,165,251,16,45
  127. 670 DATA 41,63,170,206,12,208,208,8,173
  128. 680 DATA 16,208,73,64,141,16,208,165
  129. 690 DATA 251,41,64,133,206,173,16,208
  130. 700 DATA 41,64,197,206,208,11,173,12
  131. 710 DATA 208,197,252,208,4,134,251,240
  132. 720 DATA 3,202,208,214,165,253,16,20,41
  133. 730 DATA 63,170,206,11,208,173,11,208
  134. 740 DATA 197,254,208,4,134,253,240,3
  135. 750 DATA 202,208,239,173,30,208,44,83
  136. 760 DATA 64,240,19,141,1,67,162,127,44
  137. 770 DATA 21,64,240,2,134,253,44,124,64
  138. 780 DATA 240,2,134,251,165,2,240,9,198
  139. 790 DATA 2,208,5,169,0,141,4,212,76,49
  140. 795 DATA 234
  141. 800 REM *** SPRITE DATA ***
  142. 805 FORF=0TO583:POKEF+13760,0:NEXT
  143. 810 F=13824:FORC=0TO5:READB:FORE=0TOB
  144. 820 FORA=0TO1:READA(E*2+A)
  145. 830 POKEF,A(E*2+A):F=F+1:NEXT:F=F+1
  146. 840 NEXT:F=F+INT(B/5-1)*11:FORE=BTO0STEP-1
  147. 850 FORA=0TO1:POKEF,A(E*2+A):F=F+1:NEXT
  148. 860 F=F+1:NEXT:F=F+58-B*3*(INT((15-B)/8)+1):NEXT
  149. 870 DATA 5,3,131,15,135,30,15,56,30,120
  150. 880 DATA 252,255,252,5,193,192,225,240
  151. 890 DATA 240,120,120,28,63,30,63,255,15
  152. 900 DATA 6,0,15,0,31,128,63,192,127,224
  153. 910 DATA 102,96,230,112,198,48,207,48
  154. 920 DATA 15,0,15,0,31,128,63,192,127
  155. 930 DATA 224,240,240,224,112,6,1,69,1
  156. 940 DATA 69,0,68,0,68,36,84,36,84,213
  157. 950 DATA 85,6,81,64,81,64,17,0,17,0,21
  158. 960 DATA 24,21,24,85,86,15,3,0,3,0,9
  159. 970 DATA 128,9,128,5,64,5,64,65,4,65,4
  160. 980 DATA 85,84,85,84,5,64,5,64,85,84,85
  161. 990 DATA 84,65,4,65,4
  162. 1000 REM *** HORIZ. ARROW SETUP ***
  163. 1005 E=0:FORF=0TO88:READA:POKEF+16688,A:E=E+A:NEXT
  164. 1010 IFE<>10539THENPRINT"ERROR IN DATA LINES 1015-1120":END
  165. 1015 DATA 165,251,201
  166. 1020 DATA 127,176,72,173,9,67,240,14
  167. 1030 DATA 206,9,67,208,62,174,10,67,189
  168. 1040 DATA 127,65,133,251,96,169,48,141
  169. 1050 DATA 21,208,173,10,67,73,1,141,10
  170. 1060 DATA 67,170,189,129,65,141,39,64
  171. 1070 DATA 189,131,65,133,252,189,133,65
  172. 1080 DATA 141,12,208,189,135,65,141,254
  173. 1090 DATA 7,173,14,67,141,13,208,169,10
  174. 1100 DATA 141,9,67,169,112,141,21,208
  175. 1110 DATA 96,132,196,206,238,4,89,74,14
  176. 1120 DATA 216,217
  177. 1130 REM *** VERT. ARROW SETUP ***
  178. 1135 E=0:FORF=0TO93:READA:POKEF+16782,A:E=E+A:NEXT
  179. 1140 IFE<>11560THENPRINT"ERROR IN DATA LINES 1145-1260":END
  180. 1145 DATA 165,253
  181. 1150 DATA 201,127,176,81,173,11,67,240
  182. 1160 DATA 10,206,11,67,208,71,169,132
  183. 1170 DATA 133,253,96,169,80,141,21,208
  184. 1180 DATA 173,12,67,73,1,141,12,67,170
  185. 1190 DATA 189,129,65,141,88,64,189,230
  186. 1200 DATA 65,133,254,189,232,65,141,11
  187. 1210 DATA 208,189,234,65,141,253,7,173
  188. 1220 DATA 15,67,141,10,208,120,173,16
  189. 1230 DATA 208,41,223,13,16,67,141,16
  190. 1240 DATA 208,88,169,10,141,11,67,169
  191. 1250 DATA 112,141,21,208,96,30,254,244
  192. 1260 DATA 39,218,219
  193. 1270 REM *** PLAYER SPRITE MVMENT ***
  194. 1275 E=0:FORF=0TO223:READA:POKEF+16896,A:E=E+A:NEXT
  195. 1280 IFE<>23745THENPRINT"ERROR IN DATA LINES 1290-1415":END
  196. 1290 DATA 169,2,141,2,67,173,0,220,41
  197. 1295 DATA 15,10,10,170,160,3,189,0,68
  198. 1300 DATA 153,2,67,232,136,208,246,32
  199. 1305 DATA 164,66,141,0,67,201,32,240,36
  200. 1310 DATA 201,42,208,11,169,17,141,4
  201. 1315 DATA 212,169,5,133,2,208,21,32,212
  202. 1320 DATA 66,206,2,67,240,105,162,3,189
  203. 1325 DATA 5,67,157,2,67,202,208,247,240
  204. 1330 DATA 210,162,3,189,2,67,157,5,67
  205. 1335 DATA 202,208,247,173,3,67,141,252
  206. 1340 DATA 7,174,5,67,240,41,24,173,8
  207. 1345 DATA 208,125,24,67,141,8,208,173
  208. 1350 DATA 13,67,125,25,67,141,13,67,10
  209. 1355 DATA 10,10,10,141,29,67,120,173,16
  210. 1360 DATA 208,41,239,13,29,67,141,16
  211. 1365 DATA 208,88,16,13,24,174,4,67,189
  212. 1370 DATA 24,67,109,9,208,141,9,208,162
  213. 1375 DATA 2,189,185,66,157,160,66,202
  214. 1380 DATA 208,247,169,32,141,244,5,96
  215. 1385 DATA 174,5,67,240,5,32,192,66,208
  216. 1390 DATA 11,173,4,67,240,10,9,4,170,32
  217. 1395 DATA 192,66,173,244,5,96,169,0,96
  218. 1400 DATA 24,173,186,66,125,16,67,141
  219. 1405 DATA 186,66,173,187,66,125,17,67
  220. 1410 DATA 141,187,66,96,162,2,189,160
  221. 1415 DATA 66,157,185,66,202,208,247,96
  222. 1420 REM *** MVMENT & JYSTK DATA ***
  223. 1425 FORF=0TO11:READA:POKEF+17169,A:NEXT
  224. 1430 DATA 1,0,255,255,40,0,216,255,8,0
  225. 1440 DATA 248,255
  226. 1450 E=17427:FORF=0TO10:FORE=E+1TOE+2:READA:POKEE,A:NEXTE,F
  227. 1460 DATA 1,0,221,1,0,221,1,0,221,0,0,0
  228. 1470 DATA 3,0,220,3,0,220,3,0,220,0,0,0
  229. 1480 DATA 0,1,223,0,3,222,0,0,0
  230. 1500 REM *** FRUIT CHARACTERS ***
  231. 1503 FORF=0TO39:READA:POKEF+15296,A:NEXT
  232. 1505 DATA 0,60,102,102,126,126,60,0
  233. 1508 DATA 0,60,126,126,126,126,60,0,0
  234. 1510 DATA 32,96,112,120,62,30,0,0,54
  235. 1520 DATA 60,126,126,126,60,0,0,102,24
  236. 1530 DATA 126,126,60,24,0
  237. 1540 FORF=0TO5:READA,B:CC(F,0)=A:CC(F,1)=B:NEXT
  238. 1550 DATA 1,13,0,6,4,10,3,13,1,8,2,7
  239. 1590 FORF=0TO2:READA:FORE=0TO7:POKE13760+E*3+F,PEEK(14392+A*8+E):NEXTE,F
  240. 1600 DATA 16,14,0
  241. 1620 POKEV,164:POKEV+1,70:POKEV+28,16:POKEV+39,3:POKEV+43,1:POKEV+37,14
  242. 1625 POKEV+38,5:POKEV+44,7:POKEV+45,7:POKEV+23,0:POKEV+29,0:POKE2040,215
  243. 1630 FORE=0TO24:POKES+E,0:NEXT:POKES,31:POKES+1,21:POKES+6,240
  244. 1640 POKES+13,240:POKES+24,15:GOTO200
  245.